package com.cv.system.dal.mapper.user;

import com.cv.framework.mybatis.core.mapper.BaseMapperX;
import com.cv.system.dal.dataobject.user.SystemUsersDO;
import org.apache.ibatis.annotations.Mapper;

/**
 * 平台用户数据层
 *
 * @author Charles_XDXD
 */
@Mapper
public interface PlatformUserMapper extends BaseMapperX<SystemUsersDO> {

    /**
     * 根据用户账号查询用户
     *
     * @param username 用户账号
     * @return 用户信息
     */
    default SystemUsersDO selectByUsername(String username) {
        return selectOne(SystemUsersDO::getUsername, username);
    }

    /**
     * 根据邮箱查询用户
     *
     * @param email 邮箱
     * @return 用户信息
     */
    default SystemUsersDO selectByEmail(String email) {
        return selectOne(SystemUsersDO::getEmail, email);
    }

    /**
     * 根据手机号查询用户
     *
     * @param mobile 手机号
     * @return 用户信息
     */
    default SystemUsersDO selectByMobile(String mobile) {
        return selectOne(SystemUsersDO::getMobile, mobile);
    }

}
